The methods and systems illustrated herein in embodiments are related generally to the art of data compression. More specifically, methods and systems will be described for compressing high or super resolution image data for storage and/or transmission. Embodiments will be described with reference to compressing high or super resolution image data associated with text or line art. However, embodiments may be beneficially implemented in other data compression applications.
By way of background, advancements in the computational power of image processors and the rendering resolution of marking engines have outpaced advancements in data storage and transmission. That is, image processors and image rendering devices or marking engines for achieving a given image quality and image throughput (e.g., pages per minute) are relatively inexpensive when compared to the cost of data storage and transmission components that would be required to support that given image quality and throughput. Nevertheless, it is desirable to achieve the benefits of high speed data processing and high resolution image rendering.
For example, it is desirable to render text and line art, which can include curves and diagonal lines, with high or super resolution, such as, for example, 1200, 2400 or 3600 spots per inch (spi), in order to reduce or avoid perceptible jaggedness or “jaggies” in the rendered or printed text or line art.
In order to take full advantage of the jaggedness reducing aspects of super or high resolution rendering, it is necessary for an image source, such as an image processor or Digital Front End (DFE) to perform high or super resolution digital image processing. For example, a DFE may raster image process (RIP) a Page Description Language (PDL) version of an image to a high or super resolution to provide for better edge position estimation and to provide a reduction in perceived jaggedness in a rendered version of the image.
However, a single page of high or super resolution (e.g., 2400 spi) binary or bit map color image data can require up to two gigabytes or more of data storage and/or transmission. Furthermore, in production printing environments, it is common to render over 100 pages per minute. Therefore, the cost of providing storage and communication resources adequate to the task of super resolution data storage and transmission can be quite high.
Super Resolution Encoding (SRE) is one way of achieving high resolution quality text and graphics. High resolution patterns are encoded as gray pixel values at lower resolution and then decoded on the image output terminal (IOT). In order to recover the original high resolution patterns, the gray values need to be preserved. Unfortunately very complex pages can require lossy compression, including lossy compression of the gray values, resulting in completely different gray values delivered to and rendered by the IOT.
The original SRE patterns were designed assuming lossless compression. The patterns are arranged in no particular order. In the case of 1200 DPI, only the 16 possible values had a valid pattern with all other gray values having a blank pattern. This would result in drop outs as well as wrong patterns if compression or other alterations in the data path change the gray values.
In certain applications there can be lossy compression. Less complex pages avoid doing lossy compression on SRE objects, but in very complex pages the problem cannot be avoided, which can result in alteration of the SRE values. Other modules in the image path may also cause the value to be changed.
Therefore, there is a desire for methods and systems for compressing or encoding high or super resolution image data while preserving the beneficial aspects provided by high or super resolution image processing and rendering.